package dominion;

import java.util.List;

public interface Player {

	String name();

	List<Card> hand();

	List<Card> deck();

	List<Card> grave();

	void gain(Card card);

	void discard(Card card);

	void trash(Card card);

	int count(CardTypes type);

	double coinRatio();

	int victory();

	int tresure();

	int turnCount();

	void turn(Dominion dominion);

	void act(Dominion dominion);

	int buy(Dominion dominion, int value);

	void cleanUp(Dominion dominion);

	void draw(Dominion dominion);

	Card reveal(Dominion dominion);

	void putOnDeck(Card card, boolean gain);

	void addBuy();

	void addTemporaryCoin(int value);

	void addAttackedCount();

	int attcked();

	void addProtectedCount();

	int protectedCount();

}
